<?php
/**
 * 為因應未來程式開發後可能會跑在免費的PHP空間，避免有些語法免費空間不support，故在此將之封裝
 *
 * @author t0255
 */

class ServerFunction {
    /**
     * 取得主程式路徑
     * 不管是在函式庫或主程式，回傳的都是主程式路徑
     *
     * @return String
     */
    public static function getMainPath(){
        return getcwd();
    }
    public static function getWebRoot(){
        return getenv("DOCUMENT_ROOT");
    }
    public static function getDirectorySeparator(){
        return DIRECTORY_SEPARATOR;
    }

    /**
     * 取得檔案的Web相對路徑
     * @param string __FILE__
     * @return string
     * @example http://www.hhsh.chc.edu.tw/Test/Test2/test.php return /Test/Test2/test.php
     */
    public static function getPagePath($file){
        return substr($file,strpos($file,  ServerFunction::getWebRoot()) + strlen(ServerFunction::getWebRoot()));
    }

    /**
     * 取得現在執行程式路徑
     * 不定參數：可以傳入__FILE__以取得現在執行的程式路徑，若不傳入參數則是取得ServerFunction.class.php的路徑
     *
     * @return String
     */
    public static function getFileDirName(){
        if(func_num_args()==0){
            return dirname(__FILE__);
        }
        else{
            return dirname(func_get_arg (0));
        }
    }
}
?>
